cache_range_requests plugin optional support for special IMS header#6217
Merged
jrushford merged 1 commit intoapache:masterfrom Dec 4, 2019
Merged
cache_range_requests plugin optional support for special IMS header#6217jrushford merged 1 commit intoapache:masterfrom
jrushford merged 1 commit intoapache:masterfrom
Conversation
18036cc to
e92db28
Compare
02daa0a to
9a81d85
Compare
Contributor
|
[approve ci] |
jrushford
reviewed
Nov 22, 2019
Contributor
jrushford
left a comment
There was a problem hiding this comment.
You might consider adding documentation for cache_range_requests to the admin-guide.
9a81d85 to
6269ac4
Compare
Contributor
Author
|
Added a cache_range_requests admin guide. |
Contributor
|
@traeak Thanks for adding the cache_range_requests to the admin-guide however, a link to the doc is needed in doc/admin-guide/plugins/index.en.rst so that the doc can be found. Also 'make html' gives this error:
|
58a1f45 to
422b42b
Compare
422b42b to
96bf308
Compare
Contributor
|
Cherry-picked to v9.0.x branch. |
traeak
added a commit
to traeak/trafficserver
that referenced
this pull request
Apr 23, 2021
…pache#6217) (cherry picked from commit fbe11ae)
ezelkow1
pushed a commit
that referenced
this pull request
Apr 27, 2021
…lt. (#7740) * slice port from master as of c8c9540 better handling of TSVIO calls and TSVConnAbort (#6239) Slice plugin: recover out of sync slices, better handling of non 206s (#6691) slice: clean up of created 502 response header (#6919) default to throttling and subsequently simplify the transfer code (#7257) (cherry picked from commit a622cbe) slice/handleFirstServerHeader: return sooner on requested range errors (#7486) (cherry picked from commit dfd4c7a) * cache_range_requests plugin optional support for special IMS header (#6217) (cherry picked from commit fbe11ae)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
To support slice plugin self healing a regex_revalidate type feature can be enabled for cache_range_requests (param -c or --consider-ims):
X-CRR-IMS: (date) (ie: Tue, 19 Nov 2019 13:26:45 GMT)Use case: During slice stitching if 2 adjacent range requests disagree for etag/last modifed, the "older" of the 2 block ranges will be re-requested with this X-CRR-IMS: (newer block range date) which can propagate up through layers of a CDN to an origin if necessary (assuming they all use the cache_range_request plugin with the --consider-ims param).
When enabled and using with the slice plugin, for security purposes it is advisable to add a header_rewrite rule to strip the X-CRR-IMS header at the edge if the incoming port (php) is NOT 0 (the internal ATS loopback port).
Converted the plugin configuration to use getopt_long() and deprecated ps_mode:cache_key_url in favor of -p or --ps-cachekey Modified base autest for both new and deprecated option check.
Also included: TSMBuffer/TSMLoc variable name changes, switching a txndata::char* to std::string (no extra malloc/freees), switching static const char* to constexpr std::string_view, moving functions into a private namespace.
Extra testing: valgrind with small canned set of requests, automated range requester which dual issues through ATS and origin.